import java.io.*;
public class ej28 {


	public static void main(String[] args) throws IOException {
		
		int decimal;
		int n_M;//cantidad de M's en las unidades de millar
		int i;
		boolean valido=false; //Sirve para seguir pidiendo valores mientras no sean válidos
		
		String entrada;//String donde se almacenará lo introducido por teclado
		
		InputStreamReader teclado; //Declaro la entrada de datos
		BufferedReader bufferLectura;//Declaro Buffer de entrada
		
		teclado = new InputStreamReader (System.in);//Paso al InputStreamReader la entrada de teclado 
		bufferLectura = new BufferedReader (teclado);//Se almacena en el buffer
		
//		VALIDACIÓN. Pide el numero a pasar a romano, tiene que ser un nº válido
		do
		{
			System.out.print("Introduzca el número a convertir: ");
		entrada = bufferLectura.readLine();
		decimal = Integer.parseInt(entrada);
			if (decimal<=3999&&decimal>1){
				valido = true;
			}
			else
				System.out.println("\tERROR: El número debe estar entre 1-3999");
		}
		
		while(valido==false);
		//FIN DE VALIDACIÓN ---------------------------------------------
		System.out.println("El número introducido: "+decimal);
		System.out.print("En romano es: ");
		/* Cuento los dígitos que tiene el número decimal para saber a que nivel debo
		 * Empezar a tratar al número (Unidades de millar, centenas, decenas, unidades)
		 * 
		 * UNIDADES DE MILLAR
		 */
		
		if(entrada.length()==4){
			for(i=0,n_M=(decimal/1000);i<n_M;i++){
				System.out.print("M");
				decimal -=1000;
			}
		}
		//COMPROBADO ---------------------------------------------------
		
		/*CENTENAS.    Calcula los posibles casos para las centenas.
		 */
		if(decimal/100==9){
			System.out.print("CM");
			decimal-=900;
		}
		else if(decimal/100==8){
			System.out.print("DCCC");
			decimal-=800;
		}
		else if(decimal/100==7){
			System.out.print("DCC");
			decimal-=700;
		}
		else if(decimal/100==6){
			System.out.print("DC");
			decimal-=600;
		}
		else if(decimal/100==5){
			System.out.print("D");
			decimal-=500;
		}
		else if(decimal/100==4){
			System.out.print("CD");
			decimal-=400;
		}
		else if(decimal/100==3){
			System.out.print("CCC");
			decimal-=300;
		}
		else if(decimal/100==2){
			System.out.print("CC");
			decimal-=200;
		}
		else if(decimal/100==1){
			System.out.print("C");
			decimal-=100;
		}
		//FINAL DE LAS CENTENAS
		
		
		//DECENAS
		if(decimal/10==9){
			System.out.print("XC");
			decimal-=90;
		}
		else if(decimal/100==8){
			System.out.print("LXXX");
			decimal-=80;
		}
		else if(decimal/10==7){
			System.out.print("LXX");
			decimal-=70;
		}
		else if(decimal/10==6){
			System.out.print("LX");
			decimal-=60;
		}
		else if(decimal/10==5){
			System.out.print("L");
			decimal-=50;
		}
		else if(decimal/10==4){
			System.out.print("XL");
			decimal-=40;
		}
		else if(decimal/10==3){
			System.out.print("XXX");
			decimal-=30;
		}
		else if(decimal/10==2){
			System.out.print("XX");
			decimal-=20;
		}
		else if(decimal/10==1){
			System.out.print("X");
			decimal-=10;
		}
		//FINAL DE LAS DECENAS
		
		//UNIDADES
		
		if(decimal==9)
			System.out.print("X");
		else if(decimal==8)
			System.out.print("VIII");
		else if(decimal==7)
			System.out.print("VII");
		else if(decimal==6)
			System.out.print("VI");
		else if(decimal==5)
			System.out.print("V");
		else if(decimal==4)
			System.out.print("IV");
		else if(decimal==3)
			System.out.print("III");
		else if(decimal==2)
			System.out.print("II");
		else if(decimal==1)
			System.out.print("I");
	}
}
